Page({
  data: {
    cartItems: [],
    totalPrice: 0,
    deliveryFee: 5,
    totalAmount: 0,
    showCheckoutSuccess: false
  },
  
  onLoad: function () {
    this.loadCartData();
  },
  
  onShow: function() {
    // 每次显示页面时重新加载购物车数据
    this.loadCartData();
  },
  
  // 加载购物车数据
  loadCartData: function() {
    // 从本地存储获取购物车数据
    const cartItems = wx.getStorageSync('cart') || [];
    
    // 计算总价
    const totalPrice = this.calculateTotalPrice(cartItems);
    const totalAmount = totalPrice + this.data.deliveryFee;
    
    this.setData({
      cartItems,
      totalPrice,
      totalAmount
    });
    
    // 更新全局数据
    getApp().globalData.cart = cartItems;
  },
  
  // 计算总价
  calculateTotalPrice: function(cartItems) {
    return cartItems.reduce((total, item) => {
      return total + (item.price * item.quantity);
    }, 0);
  },
  
  // 增加数量
  increaseQuantity: function(e) {
    const id = e.currentTarget.dataset.id;
    const cartItems = [...this.data.cartItems];
    
    const item = cartItems.find(item => item.id === id);
    if (item) {
      item.quantity += 1;
      
      // 更新数据
      this.updateCart(cartItems);
    }
  },
  
  // 减少数量
  decreaseQuantity: function(e) {
    const id = e.currentTarget.dataset.id;
    const cartItems = [...this.data.cartItems];
    
    const item = cartItems.find(item => item.id === id);
    if (item) {
      if (item.quantity > 1) {
        item.quantity -= 1;
      } else {
        // 如果数量为1，则从购物车中移除
        const index = cartItems.findIndex(item => item.id === id);
        cartItems.splice(index, 1);
      }
      
      // 更新数据
      this.updateCart(cartItems);
    }
  },
  
  // 清空购物车
  clearCart: function() {
    wx.showModal({
      title: '提示',
      content: '确定要清空购物车吗？',
      success: (res) => {
        if (res.confirm) {
          // 清空购物车
          this.updateCart([]);
        }
      }
    });
  },
  
  // 更新购物车
  updateCart: function(cartItems) {
    // 计算总价
    const totalPrice = this.calculateTotalPrice(cartItems);
    const totalAmount = totalPrice + this.data.deliveryFee;
    
    this.setData({
      cartItems,
      totalPrice,
      totalAmount
    });
    
    // 更新本地存储
    wx.setStorageSync('cart', cartItems);
    
    // 更新全局数据
    getApp().globalData.cart = cartItems;
  },
  
  // 去结算
  checkout: function() {
    if (this.data.cartItems.length === 0) {
      wx.showToast({
        title: '购物车为空',
        icon: 'none',
        duration: 1500
      });
      return;
    }
    
    // 显示结算成功弹窗
    this.setData({
      showCheckoutSuccess: true
    });
  },
  
  // 确认结算
  confirmCheckout: function() {
    // 清空购物车
    this.updateCart([]);
    
    // 关闭弹窗
    this.setData({
      showCheckoutSuccess: false
    });
  },
  
  // 去点餐
  goShopping: function() {
    wx.switchTab({
      url: '/src/pages/index/index'
    });
  }
}) 